home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-10-09 | 1.8 KB | 59 lines | [TEXT/MEDT] |
- MODULE MenuExample; (* displays a small menu and responds to the user's actions *)
-
- FROM Menu IMPORT MenuRes, SetMenu, GetMenuCmd, DisableMenu, EnableMenu,
- SetItem, DisableItem, EnableItem, InstallAboutProc,
- MarkItem;
- FROM InOut IMPORT WriteString, WriteLn;
-
- VAR MenuEnabled, ItemEnabled, Checked, Done : BOOLEAN;
- Command : MenuRes;
-
- PROCEDURE AboutThisProgram;
- BEGIN
- WriteLn;
- WriteString("*******************************");WriteLn;WriteLn;
- WriteString(" HELLO !"); WriteLn;
- WriteString(' This is an example program for module "Menu".');
- WriteString("*******************************");WriteLn;
- END AboutThisProgram;
-
- BEGIN (* MenuExample *)
- InstallAboutProc("About MenuExample",AboutThisProgram);
- SetMenu(1,"Example|Disable menu 2|Quit/Q");
- SetMenu(2,"Menu 2|Enable item below|(-|(Just for fun");
- MenuEnabled := TRUE; ItemEnabled := FALSE; Checked := FALSE;
- LOOP
- GetMenuCmd(Command,Done);
- IF Done THEN
- IF Command.menuID = 1 THEN
- CASE Command.menuCmd OF
- 1 : IF MenuEnabled THEN
- DisableMenu(2);
- SetItem(1,1,"Enable menu 2");
- ELSE
- EnableMenu(2);
- SetItem(1,1,"Disable menu 2");
- END (* IF *);
- MenuEnabled := ~MenuEnabled;
- |2 : EXIT
- END (* CASE *);
- ELSE (* Command.menuID = 2 *)
- CASE Command.menuCmd OF
- 1 : IF ItemEnabled THEN
- DisableItem(2,3);
- SetItem(2,1,"Enable item below");
- ELSE
- EnableItem(2,3);
- SetItem(2,1,"Disable item below");
- END (* IF *);
- ItemEnabled := ~ItemEnabled;
- |2 : (* Is not possible because item #2 is always disabled! *)
- |3 : Checked := ~Checked;
- MarkItem(2,3,Checked);
- END (* CASE *);
- END (* IF Command.menuID *);
- END (* IF Done *);
- END (* LOOP *);
- END MenuExample.
-
-